One or more aspects relate, in general, to multi-threaded processors, and in particular, to aligning threads on such processors.
Multi-threaded processors include a plurality of hardware threads that can execute concurrently. One example of a multi-threaded processor is a simultaneous multi-threaded (SMT) processor. In simultaneous multithreading, instructions from more than one thread can be executing in any given instruction pipeline stage at a time. Thus, simultaneous multithreading allows multiple independent threads of execution to better utilize the resources provided by the processor architecture.